package cn.mrlong.base.utils.websocket

import android.annotation.SuppressLint
import android.app.ActivityManager
import android.content.Context

object ServiceUitl {
    /**
     * 判断服务是否正在运行
     * @param context 上下文对象
     * @param serviceName 服务名称(包括包名)
     * @return true则表示正在运行，false则表示没有运行
     */
    @SuppressLint("ServiceCast")
    fun isRunning(context: Context, serviceName: String): Boolean {
        //获取管理对象
        val manager: ActivityManager =
            context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
        //获取正在运行的（获取1000个）
        val runningServices: List<ActivityManager.RunningServiceInfo> = manager
            .getRunningServices(1000)
        //病历查找
        for (runningService in runningServices) {
            if (runningService.service.className.equals(serviceName)) {
                return true
            }
        }
        return false
    }
}